﻿/**
 *  
 * @file   FITKCCXAbstractAdaptor.h
 * @brief  抽象的calculix文件读写适配器
 * @author XuChao (xxu715737@163.com)
 * @date   2024-06-04
 *
 */
#ifndef _FITKCCXABSTRACTADAPTOR_R_H__
#define _FITKCCXABSTRACTADAPTOR_R_H__

#include "FITK_Kernel/FITKAdaptor/FITKAbstractIOAdaptor.h"

namespace IO
{
       class FITKCalculiXINPWriter;
       class FITKCalculiXINPReader;
    
    class FITKCCXAbstractAdaptor : public Adaptor::FITKAbstractIOAdaptor
    {
        FITKCLASS(IO, FITKCCXAbstractAdaptor);

    public:
        explicit FITKCCXAbstractAdaptor() = default;
        virtual ~FITKCCXAbstractAdaptor() = 0;

      
        void setFileWriter(FITKCalculiXINPWriter* writer);

        void setFileReader(FITKCalculiXINPReader* reader);

    protected:
          
        FITKCalculiXINPWriter* _writer{};
        FITKCalculiXINPReader* _reader{};
    };
}
#endif //! _FITKCCXABSTRACTADAPTOR_R_H__
